<!DOCTYPE HTML>
<html>
<head>
<title>AutoTrim | AutoHotkey</title>
<meta name="description" content="The AutoTrim command determines whether traditional assignments like Var1 = %Var2% omit spaces and tabs from the beginning and end of Var2." />
<meta name="ahk:equiv-v2" content="commands/Trim.htm" />
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
<script type="text/javascript">$(function(){0<=window.navigator.userAgent.toLowerCase().indexOf("ucbrowser")&&CaoNiMaDeUc()})</script>
</head>
<body>

<h1>AutoTrim</h1>

<p>设置在<a href="SetEnv.htm">传统赋值</a>(如 <code><a href="SetEnv.htm">Var1 = %Var2%</a></code>) 是否忽略 <em>Var2</em> 开头和结尾处的空格和 tab(制表符).</p>

<pre class="Syntax"><span class="func">AutoTrim</span>, OnOff</pre>
<h2 id="Parameters">参数</h2>
<dl>

  <dt>OnOff</dt>
  <dd><p><strong>On</strong>: 在类似 <code>Var1 = %Var2%</a></code> 这样的<a href="SetEnv.htm">传统赋值</a>中, <em>Var1</em> 忽略(省略掉) <em>Var2</em> 开头和结尾处的 tab 和空格(转义的或表示 Tab 或空格的变量). 这是默认的.</p>
      <p id="Off"><strong>Off</strong>: 不忽略这样的 tab 和空格(转义的或表示 Tab 或空格的变量).</p>
      <p><span class="ver">[v1.1.30+]:</span> 可以分别使用十进制值 1 和 0 代替 On 和 Off.</p>
      <p>不论此设置如何, 总是会忽略任何字面上的(脚本中直接键盘一键输入的) tab 和空格. 在 <span class="ver">[v1.1.06]</span> 之前的版本中, 这包括了 `t 和任何转义的空格和 tab. 例如, 当 AutoTrim 设置为 Off 时, 语句 <code>Var = `t</code> 在 <span class="ver">[v1.1.06]</span> 中, 赋值一个 tab 字符, 而在早期版本中会赋值空字符串.</p></dd>

</dl>

<h2 id="Remarks">备注</h2>
<p>如果没有在脚本中使用此命令, 那么此默认设置为 ON.</p>
<p>内置变量 <strong>A_AutoTrim</strong> 包含了此命令当前的设置(On 或 Off).</p>
<p>内置变量 <a href="../Variables.htm#Space">A_Space</a> 和 <a href="../Variables.htm#Tab">A_Tab</a> 分别包含单个空格和单个 tab 字符.</p>
<p>AutoTrim 对诸如 <code>Var := " string "</code> 这样的<a href="SetExpression.htm">表达式赋值</a>没有影响. 换句话说, 在这种情况下总是会保留前导和尾随空格和 tab.</p>
<p>每个新运行的<a href="../misc/Threads.htm">线程</a>(例如, <a href="../Hotkeys.htm">热键</a>, <a href="Menu.htm">自定义菜单项</a>或<a href="SetTimer.htm">定时</a>子程序) 都会以此命令的默认设置开始. 通过在脚本的自动执行段(脚本的顶部) 使用此命令可以改变这个默认设置.</p>
<h2 id="Related">相关</h2>
<p><a href="SetEnv.htm">SetEnv</a></p>
<h2 id="Examples">示例</h2>
<div class="ex" id="ExBasic">
<p><a class="ex_number" href="#ExBasic"></a> 当使用等号运算符赋值变量时, 禁用自动省略前后空格和制表符的功能.</p>
<pre>AutoTrim, Off
NewVar1 = %OldVar%  <em>; 如果 OldVar 包含前导和尾随空格, 那么 NewVar 也会包含它们.</em>
NewVar2 = %A_Space%  <em>; 使用 AutoTrim off 的设置时, 可以用这种方式赋值单个空格.</em>

Var1 := "`t" <strong>.</strong> Var2 <strong>.</strong> " "  <em>; AutoTrim 的设置对此语句没有影响, 因为它是<a href="../Variables.htm#Expressions">表达式</a>.</em></pre>
</div>

</body>
</html>